<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

require_once 'Zend/Controller/Action.php';
require_once APPLICATION_PATH . '/forms/AbmLocalidadesForm.php';
require_once APPLICATION_PATH . '/forms/NuevaLocalidadForm.php';

/**
 * Description of LocalidadesController
 *
 * @author kristian
 */
class LocalidadesController extends Zend_Controller_Action{


    public function init(){

    }

    public function getForm(){
        return new $form;
    }

    public function adminAction(){
        $this->crearLocalidadAction();
    }

    public function indexAction(){
//        $this->view->title = "Administracion de localidades";
//        $this->view->headTitle($this->view->title, 'PREPEND');
//        $localidades = new Spalm_Model_Single_ClienteEntity();
//        $this->view->localidades = $localidades->fetchAll();
    }

    public function crearLocalidadAction(){
        $this->view->title = "Agregar localidades";
        $this->view->headTitle($this->view->title, 'PREPEND');

        $form = new AbmLocalidades();
        $form->submit->setLabel('Agregar');
        $this->view->form = $this->getForm();

        if ($this->getRequest()->isPost()) {
            $formData = $this->_request->getPost();
            if ($form->isValid($formData)) {
                $localidad = new Spalm_Model_Single_LocalidadEntity();
                $provincia = new Spalm_Model_Single_ProvinciaEntity();

                $provincia = $provincia->find( (int) $form->getValue('provincia'));

                $localidad->setNombre($form->getValue('nombre'));
                $localidad->setProvincia($provincia);

                $cliente->save();

                $this->_redirect('/');
            } else {
                $form->populate($formData);
            }
        }

    }

    public function modificarLocalidadAction(){
        $this->view->title = "Modificar localidades";
        $this->view->headTitle($this->view->title, 'PREPEND');

        $form = new AbmClientes();
        $form->submit->setLabel('Modificar');
        $this->view->form = $this->getForm();

        if ($this->getRequest()->isPost()) {
            $formData = $this->_request->getPost();
            if ($form->isValid($formData)) {
                $localidad = new Spalm_Model_Single_LocalidadEntity();
                $provincia = new Spalm_Model_Single_ProvinciaEntity();

                $provincia = $provincia->find( (int) $form->getValue('provincia'));
                $localidad = $localidad->find( (int) $form->getValue('localidad'));

                $localidad->setNombre($form->getValue('nombre'));
                $localidad->setProvincia($provincia);


                $localidad->save();

                $this->_redirect('/');
            } else {
                $form->populate($formData);
            }
        }
    }

    public function eliminarLocalidadAction(){
        $this->view->title = "Eliminar localidades";
        $this->view->headTitle($this->view->title, 'PREPEND');

        $form = new AbmClientes();
        $form->submit->setLabel('Eliminar');
        $this->view->form = $this->getForm();

        if ($this->getRequest()->isPost()) {
            $formData = $this->_request->getPost();
            if ($form->isValid($formData)) {
                $localidad = new Spalm_Model_Single_LocalidadEntity();
                $localidad = $localidad->find( (int) $form->getValue('localidad'));

                $localidad->remove();

                $this->_redirect('/');
            } else {
                $form->populate($formData);
            }
        }
    }

    public function consultarLocalidadesAction(){
        $this->view->title = "Consultar localidades";
        $this->view->headTitle($this->view->title, 'PREPEND');

        $form = new AbmClientes();
        $form->submit->setLabel('Buscar');
        $this->view->form = $this->getForm();

        if ($this->getRequest()->isPost()) {
            $formData = $this->_request->getPost();
            if ($form->isValid($formData)) {
                $cliente = new Spalm_Model_Single_ClienteEntity();
                $cliente = $cliente->find( (int) $form->getValue('cliente'));

                // resolver mostrar
                // donde guardar los datos para q se muestren?
                // $this->view->clientes =

                // $this->_redirect('/');
            } else {
                $form->populate($formData);
            }
        }
    }
}
?>
